:root {
    /* Fonts */
    --bs-font-sans-serif: "Heebo", sans-serif;
    --bs-heading-font-family: "Nexa", sans-serif;
    --bs-font-additional: "Poppins", sans-serif;
    /* Colors */
    --theme-primary: #801532;
    --theme-primary-subtle: #dfc4cc;
    --theme-secondary: #242526;
    --theme-secondary-subtle: #adb2b6;
    --theme-tertiary: #8f7f2a;
    --theme-tertiary-subtle: #e3dfca;
    --theme-gray: #c9c9c9;
    --theme-gray-subtle: #f1f1f1;
    --bs-body-color: var(--theme-secondary);
    --bs-link-color: var(--theme-primary);
    --bs-link-color-rgb: 128,21,50;
    --bs-link-hover-color: var(--theme-primary-subtle);
    --bs-primary: var(--theme-primary);
    --bs-primary-rgb: 128,21,50;
    --bs-success: #36623a;
    --bs-success-rgb: 54,98,58;
    --bs-success-bg-subtle: #ccd8ce;
    --bs-success-border-subtle: #a3cfbb;
    --bs-success-text-emphasis: #0a3622;
    --bs-info: #0dcaf0;
    --bs-info-rgb: 13,202,240;
    --bs-info-bg-subtle: #cff4fc;
    --bs-info-border-subtle: #9eeaf9;
    --bs-info-text-emphasis: #055160;
    --bs-warning: #ffc107;
    --bs-warning-rgb: 255,193,7;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-warning-border-subtle: #ffe69c;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger: #dd0000;
    --bs-danger-rgb: 221,0,0;
    --bs-danger-bg-subtle: #fce5e5;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-danger-text-emphasis: #58151c;
    --bs-box-shadow: 0 0 4px 2px rgba(0,0,0,.1);
    --bs-border-radius: .675rem;
    --bs-border-radius-xs: .25rem;
}

/** Nav **/
.navbar {
    --bs-navbar-padding-y: 0;
    --bs-link-color: #FFF;
    --bs-link-color-rgb: 255,255,255;
    --bs-link-hover-color-rgb: 255,255,255;
    --bs-navbar-color: #FFF;
    --bs-navbar-active-color: #FFF;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, .75);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav {
    --bs-nav-link-font-weight: 500;
    --bs-navbar-color: rgba(255, 255, 255, 1);
    --bs-navbar-hover-color: rgba(255, 255, 255, 1);
    --bs-navbar-nav-link-padding-x: 1rem;
    --bs-navbar-nav-link-padding-y: .75rem;
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: .75rem;
}

.dropdown-menu {
    --bs-dropdown-min-width: 100%;
    --bs-dropdown-padding-x: 1rem;
    --bs-dropdown-padding-y: 0;
    --bs-dropdown-spacer: 0;
    --bs-dropdown-border-width: 0;
    --bs-dropdown-border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
    --bs-dropdown-item-padding-x: 0;
    --bs-dropdown-item-padding-y: .75rem;
    --bs-dropdown-link-color: var(--bs-primary);
    --bs-dropdown-link-hover-bg: none;
}

/** Buttons **/
.btn {
    --bs-btn-font-family: var(--bs-font-additional);
    --bs-btn-font-size: 1.125rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 0.675rem;
}

.btn-group-lg > .btn, .btn-lg {
    --bs-btn-font-size: 1.375rem;
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: 1rem;
}

.btn-group-sm > .btn, .btn-sm {
    --bs-btn-font-size: 1rem;
}

.table .btn-group-sm > .btn, .table .btn-sm {
    --bs-btn-padding-y: 0.25rem;
}
/* .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg:var(--theme-primary);
    --bs-btn-border-color: var(--theme-primary);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-primary-subtle);
    --bs-btn-hover-border-color: var(--theme-primary-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-primary-subtle);
    --bs-btn-active-border-color: var(--theme-primary-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-primary-subtle);
    --bs-btn-disabled-border-color: var(--theme-primary-subtle);
}
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg:var(--theme-secondary);
    --bs-btn-border-color: var(--theme-secondary);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-secondary-subtle);
    --bs-btn-hover-border-color: var(--theme-secondary-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-secondary-subtle);
    --bs-btn-active-border-color: var(--theme-secondary-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-secondary-subtle);
    --bs-btn-disabled-border-color: var(--theme-secondary-subtle);
} */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--theme-secondary);
    --bs-btn-border-color: var(--theme-secondary);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-secondary-subtle);
    --bs-btn-hover-border-color: var(--theme-secondary-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-secondary-subtle);
    --bs-btn-active-border-color: var(--theme-secondary-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-secondary-subtle);
    --bs-btn-disabled-border-color: var(--theme-secondary-subtle);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--theme-secondary);
    --bs-btn-border-color: var(--theme-secondary);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-secondary-subtle);
    --bs-btn-hover-border-color: var(--theme-secondary-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-secondary-subtle);
    --bs-btn-active-border-color: var(--theme-secondary-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-secondary-subtle);
    --bs-btn-disabled-border-color: var(--theme-secondary-subtle);
    /*--bs-btn-color: #fff;
    --bs-btn-bg: var(--theme-gray);
    --bs-btn-border-color: var(--theme-gray);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-gray-subtle);
    --bs-btn-hover-border-color: var(--theme-gray-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-gray-subtle);
    --bs-btn-active-border-color: var(--theme-gray-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-gray-subtle);
    --bs-btn-disabled-border-color: var(--theme-gray-subtle);*/
}

.btn-default {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--theme-tertiary);
    --bs-btn-border-color: var(--theme-tertiary);
    --bs-btn-hover-color: var(--theme-secondary);
    --bs-btn-hover-bg: var(--theme-tertiary-subtle);
    --bs-btn-hover-border-color: var(--theme-tertiary-subtle);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--theme-secondary);
    --bs-btn-active-bg: var(--theme-tertiary-subtle);
    --bs-btn-active-border-color: var(--theme-tertiary-subtle);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--theme-secondary);
    --bs-btn-disabled-bg: var(--theme-tertiary-subtle);
    --bs-btn-disabled-border-color: var(--theme-tertiary-subtle);
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
}

/** Card **/
.card {
    --bs-card-border-width: 0;
    /* --bs-card-border-radius: 0; */
    --bs-card-spacer-y: 1.75rem;
    --bs-card-spacer-x: 1.75rem;
    --bs-card-cap-bg: var(--bs-primary);
    --bs-card-cap-padding-x: var(--bs-card-spacer-x);
    --bs-card-cap-color: var(--bs-white);
    --bs-card-cap-padding-y: 0.75rem;
}

.dashboard:not(#winery-registration) .card {
    --bs-card-cap-bg: var(--bs-dark);
}

/** Form Elements **/
.input-group .btn-outline-secondary {
    --bs-btn-border-color: var(--bs-border-color);
}

.input-group .input-validation-error + .btn-outline-secondary {
    --bs-btn-border-color: var(--bs-danger-border-subtle);
}

.input-group-text {
    --bs-tertiary-bg: rgba(0,0,0,0);
}

/** Accordion **/
.accordion {
    --bs-accordion-bg: rgba(0,0,0,0);
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-body-padding-x: var(--bs-accordion-btn-padding-x);
    --bs-accordion-active-color: var(--bs-accordion-btn-color);
    --bs-accordion-active-bg: rgba(0,0,0,0);
    --bs-accordion-color: #707070;
    --bs-accordion-border-width: 0;
    /* --bs-accordion-btn-focus-box-shadow: 0; */
    --bs-accordion-btn-icon-width: 1rem;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.305' height='8.652' viewBox='0 0 17.305 8.652'%3E%3Cpath id='level_1_dropdown:closed' data-name='level 1 dropdown:closed' d='M288.652-551.348,280-560h17.3Z' transform='translate(-280 560)' fill='%23721f2d'/%3E%3C/svg%3E");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.305' height='8.652' viewBox='0 0 17.305 8.652'%3E%3Cpath id='level_1_dropdown:closed' data-name='level 1 dropdown:closed' d='M288.652-551.348,280-560h17.3Z' transform='translate(-280 560)' fill='%23721f2d'/%3E%3C/svg%3E");
}

.bg-tertiary-subtle .accordion {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.305' height='8.652' viewBox='0 0 17.305 8.652'%3E%3Cpath id='level_1_dropdown:closed' data-name='level 1 dropdown:closed' d='M288.652-551.348,280-560h17.3Z' transform='translate(-280 560)' fill='%238F7F2A'/%3E%3C/svg%3E");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.305' height='8.652' viewBox='0 0 17.305 8.652'%3E%3Cpath id='level_1_dropdown:closed' data-name='level 1 dropdown:closed' d='M288.652-551.348,280-560h17.3Z' transform='translate(-280 560)' fill='%238F7F2A'/%3E%3C/svg%3E");
}

/** Alerts **/
header + .alert {
    --bs-alert-margin-bottom: 0;
    --bs-alert-border-radius: 0;
    --bs-alert-border: 0;
    --bs-alert-color: var(--bs-black);
    --bs-alert-link-color: var(--bs-black);
}

header + .alert-danger {
    --bs-alert-bg: var(--bs-danger);
}

header + .alert-warning {
    --bs-alert-bg: var(--bs-warning);
}

header + .alert-success {
    --bs-alert-bg: var(--bs-success);
}

/** Pagination **/
.pagination {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    /* --bs-pagination-border-width: 0; */
}

/**---- FONTS ----**/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: var(--bs-heading-font-family);
    font-weight: 400;
    margin-bottom: 1rem;
}

/* General Public */
.h1, h1 {
    font-size: 36px;
    font-size: clamp(1.75rem, 1.484rem + 0.8511vw, 2.25rem);
}
.h2, h2 {
    font-size: 28px;
    font-size: clamp(1.375rem, 1.1755rem + 0.6383vw, 1.75rem);
}
.h3, h3 {
    font-size: 22px;
    font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
}
.h4, h4 {
    font-size: 16px;
    font-weight: 500;
}
.h5, h5 {
    font-size: 14px;
    font-weight: 500;
}
.h6, h6 {
    font-size: 12px;
    font-weight: 500;
}

.lead {
    font-size: 1.125rem;
    font-weight: 400;
}
.small, small {
    font-size: .625em;
}


/* Landing Page */
.landing-page {
    .h1, h1 {
        font-size: 46px;
        font-size: clamp(2.5rem, 2.3005rem + 0.6383vw, 2.875rem);
        letter-spacing: -1px;
    }
    .h2, h2 {
        font-size: 40px;
        font-size: clamp(2rem, 1.734rem + 0.8511vw, 2.5rem);
        letter-spacing: -1px;
    }
    .h3, h3 {
        font-size: 32px;
        font-size: clamp(1.75rem, 1.617rem + 0.4255vw, 2rem);
        letter-spacing: -1px;
    }
    .h4, h4 {
        font-size: 28px;
        font-size: clamp(1.375rem, 1.1755rem + 0.6383vw, 1.75rem);
        font-weight: 400;
    }
    .h5, h5 {
        font-size: 22px;
        font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
        font-weight: 400;
    }
    .h6, h6 {
        font-size: 16px;
    }
}

/* Form Page */
.form-page {
    .h1, h1 {
        font-size: 40px;
        font-size: clamp(2rem, 1.734rem + 0.8511vw, 2.5rem);
    }
    .h2, h2 {
        font-size: 22px;
        font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
    }
    .h3, h3 {
        font-size: 16px;
        font-weight: 500;
    }
}

/* Admin Pages */
.admin-page {
    :root {
        --bs-body-font-size: 14px;
    }
    .h3, h3 {
        font-size: 24px;
        font-size: clamp(1.375rem, 1.3085rem + 0.2128vw, 1.5rem);
    }
    .h4, h4 {
        font-size: 22px;
        font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
        font-weight: 400;
    }
    .h5, h5 {
        font-size: 16px;
    }
}

/* User Pages */
.user-page {
    :root {
        --bs-body-font-size: 14px;
    }
    .h3, h3 {
        font-size: 24px;
        font-size: clamp(1.375rem, 1.3085rem + 0.2128vw, 1.5rem);
    }
    .h4, h4 {
        font-size: 22px;
        font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
        font-weight: 400;
    }
    .h5, h5 {
        font-size: 16px;
    }
}

/**---- Site ----**/
img, svg {
    max-width: 100%;
}
.container-fluid {
    max-width: 1630px;
}
@media (min-width: 1400px) {
    .admin .container {
        max-width: 1180px;
    }
}

/* Main */
#main {
    position: relative;
    min-height: calc(100dvh - var(--header-height) - var(--footer-height));
}
#main > section {
    position: relative;
    z-index: 2;
}
body:not(.admin) #main::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    height: 60dvh;
    pointer-events: none;
    background: linear-gradient(to bottom, var(--main-gradient-bg-start) 0%, var(--main-gradient-bg-end) 100%);
}
.admin #main,
#main.bg-reverse {
    background-color: var(--main-gradient-bg-start);
}
body:not(.admin) #main.bg-reverse::after {
    transform: rotate(180deg);
    /* height: 100%; */
}
body:not(.admin) header.has-border + #main::before {
    content: "";
    display: block;
    position: relative;
    z-index: 3;
    height: 10px;
    background: linear-gradient(
        to right,
        #61B3A1 0%,
        #61B3A1 20%,
        #EDB348 20%,
        #EDB348 40%,
        #801532 40%,
        #801532 60%,
        #0F5869 60%,
        #0F5869 80%,
        #36623A 80%,
        #36623A 100%
    );
}
.admin #main::before,
.admin #main::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
    width: min(40%, 783px);
    height: 413px;
}
.admin #main::before {
    bottom: 0;
    left: 0;
    background-image: var(--bkg-pattern-1);
    background-position: left bottom;
}
.admin #main::after {
    top: 0;
    right: 0;
    background-image: var(--bkg-pattern-2);
    background-position: right top;
}


/* Header */
header {
    /* overflow: clip; */
}
@media (max-width: 767px) {
    #logo {
        display: block;
        max-width: 60dvw;
    }
}

/* Footer */
footer {
    position: relative;
    z-index: 2;
}
footer .nav {
    --bs-nav-link-color: var(--bs-light);
}

/* Nav */
.navbar {
    text-transform: uppercase;
}
.navbar > .row {
    --bs-gutter-x: 3rem;
    min-width: 100%;
    margin: 0;
}
.navbar .nav-link {
    border-radius: var(--bs-border-radius);
}
.navbar .nav-link:hover,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    background-color: rgba(255,255,255,.25);
}
.navbar .dropdown-toggle {
    text-decoration: none;
    font-weight: 500;
    padding: .75rem 0;
}
.navbar .btn-link {
    text-decoration: none;
}
.dropdown-menu {
    -webkit-box-shadow: var(--bs-box-shadow);
    box-shadow: var(--bs-box-shadow);
}
.dropdown-menu svg {
    color: var(--dropdown-svg-color);
    flex: 1 0 auto;
    max-width: 24px;
}
.dropdown-menu > li:not(:last-child) {
    border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
.dropdown-toggle.show::after {
    transform: rotate(180deg);
}
@media (max-width: 767px) {
    .navbar > .row > div {
        width: 100%;
        padding: 0;
    }
    .navbar .nav-link,
    .navbar .btn {
        padding-left: 0;
        padding-right: 0;
    }
    .navbar .nav-link:hover, .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
        background-color: rgba(255,255,255,0);
    }
}

/* Form Elements */
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-right: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-left: 0;
}
.form-label {
    font-family: var(--bs-font-additional);
    text-transform: uppercase;
    font-weight: 500;
    /* color: #727272; */
}
.form-control:disabled {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23a7a7a7' class='bi bi-lock-fill' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 0a4 4 0 0 1 4 4v2.05a2.5 2.5 0 0 1 2 2.45v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4m0 1a3 3 0 0 0-3 3v2h6V4a3 3 0 0 0-3-3'/%3E%3C/svg%3E");
    background-size: .75rem;
    background-repeat: no-repeat;
    background-position: calc(100% - .625rem) center;
    padding-right: 1.75rem;
}
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.form-check-input:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb),.25);
}
.field-group + .field-group > .title > *:first-child {
    border-top: var(--bs-border-width) solid var(--bs-border-color);
    padding-top: 2rem;
    margin-top: 1rem;
}
.order-status > .form-check-inline:not(:last-child) {
    position: relative;
    padding-right: 1.5rem;
    margin-right: .5rem;
}
.order-status > .form-check-inline:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    width: 1rem;
    height: 1rem;
    right: 0;
    top: .25rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.21' height='15.21' viewBox='0 0 15.21 15.21'%3E%3Cpath id='icon_arrow-gray' d='M171.574-791.444H160v-1.9h11.574l-5.323-5.323L167.6-800l7.6,7.6-7.6,7.6-1.355-1.331Z' transform='translate(-160 800)' fill='%239d9d9d'/%3E%3C/svg%3E");
}
.form-control.input-validation-error {
    border: 1px solid var(--bs-danger-border-subtle);
}
.form-control.input-validation-error:focus {
    border: 1px solid var(--bs-danger-border-subtle);
}
.validation-summary-errors[data-valmsg-summary="true"] {
    color: var(--bs-danger);
    list-style: none;
}
.validation-summary-errors[data-valmsg-summary="true"]>ul {
    list-style: none;
}
.validation-summary-errors,
.field-validation-error {
    --bs-alert-padding-x: .5rem;
    --bs-alert-padding-y: .25rem;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: var(--bs-border-radius-sm);
    --bs-alert-color: var(--bs-danger-text-emphasis);
    --bs-alert-bg: var(--bs-danger-bg-subtle);
    --bs-alert-border-color: var(--bs-danger-border-subtle);
    --bs-alert-link-color: var(--bs-danger-text-emphasis);
    margin-top: .25rem;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    color: var(--bs-alert-color);
    /* background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius); */
    font-size: .875rem;
    font-weight: 600;
    display: inline-block;
}
.req::after {
    content: "*";
    display: inline-block;
    color: var(--bs-danger-text-emphasis);
    font-weight: 700;
    font-size: 20px;
    position: relative;
    margin-top: -10px;
    top: 6px;
}
.req + a[data-bs-toggle] {
    margin-left: .5rem;
}

/* Card */
.card {
    -webkit-box-shadow: var(--bs-box-shadow);
    box-shadow: var(--bs-box-shadow);
}
.card.border-top {
    overflow: clip;
}
.card.border-top::before {
    content: "";
    display: block;
    height: 12px;
    background-color: rgba(var(--bs-dark-rgb),1);
}
.admin .card.border-top::before {
    background-color: rgba(var(--bs-primary-rgb),1);
}

/* Accordion */
.accordion {
    padding: 0 1rem;
    background-color: rgba(255,255,255,.5);
    border-radius: var(--bs-accordion-border-radius);
}
.accordion-item + .accordion-item {
    border-top: solid 1px var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed) {
    box-shadow: none;
}
.accordion-button {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
}
.accordion-body {
    padding-top: 0;
}

/* Buttons */
.btn {
    text-transform: uppercase;
}
.btn:hover,
.btn:focus {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
    box-shadow: 0 0 0 .25rem var(--bs-btn-hover-bg);
}
.btn.btn-wide {
    min-width: 250px;
    max-width: 100%;
}
.btn.btn-lg.btn-wide {
    min-width: 370px;
    max-width: 100%;
}
.btn-link {
    text-decoration: none;
}
@media (max-width: 767px) {
    .btn.btn-lg.btn-wide {
        min-width: 1px;
        width: 100%;
    }
}
.btn-close {
    background-size: .75em;
    position: absolute;
    top: .5em;
    right: .5em;
}

/* Sidebar Nav */
#sidebar-nav {
    --bs-nav-link-padding-x: .5rem;
    --bs-nav-link-padding-y: .5rem;
    padding: 0 1rem;
}
#sidebar-nav .nav-item,
#sidebar-nav .nav-item:first-child:has(.bg-danger-subtle) ~ .nav-item:nth-child(5n + 2) {
    --badge-bg: var(--bs-dark);
    padding: 1rem 0;
}
#sidebar-nav .nav-item:nth-child(5n + 2),
#sidebar-nav .nav-item:first-child:has(.bg-danger-subtle) ~ .nav-item:nth-child(5n + 3) {
    --badge-bg: #801532;
}
#sidebar-nav .nav-item:nth-child(5n + 3),
#sidebar-nav .nav-item:first-child:has(.bg-danger-subtle) ~ .nav-item:nth-child(5n + 4) {
    --badge-bg: #0F5869;
}
#sidebar-nav .nav-item:nth-child(5n + 4),
#sidebar-nav .nav-item:first-child:has(.bg-danger-subtle) ~ .nav-item:nth-child(5n + 5) {
    --badge-bg: #36623A;
}
#sidebar-nav .nav-item:nth-child(5n + 5),
#sidebar-nav .nav-item:first-child:has(.bg-danger-subtle) ~ .nav-item:nth-child(5n + 6) {
    --badge-bg: #393172;
}
#sidebar-nav .nav-item:has(.bg-danger-subtle) {
    --badge-bg: var(--bs-danger);
}
#sidebar-nav .nav-item:not(:last-child) {
    border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
#sidebar-nav .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: .8rem;
    border-radius: var(--bs-border-radius-xs);
}
#sidebar-nav .nav-link::after {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 20px;
    right: .5rem;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.774' height='20' viewBox='0 0 11.774 20'%3E%3Cpath id='admin_micro-dash-view_more_icon' d='M1.775,0,0,1.775,8.225,10,0,18.225,1.775,20l10-10Z' fill='%23242526'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
#sidebar-nav .nav-link .badge {
    flex: 1 0 60px;
    max-width: 60px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.25rem;
    font-weight: 400;
    color: #FFF;
    background-color: var(--badge-bg);
}
#sidebar-nav .nav-link h4 {
    flex: auto;
    margin: 0;
    padding-right: 1.5rem;
    color: var(--bs-body-color);
    text-wrap: balance;
}

/* Map */
.map-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem !important;
}
.map-legend > span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.map-legend > span > svg {
    flex: 1 0 18px;
    max-width: 18px;
}

/* Tables */
.table > thead > tr > * {
    background-color: var(--table-header-bg);
    font-size: .875rem;
    font-weight: 500;
    text-transform: uppercase;
}
.table tr.collapse {
    transform: translateY(calc(var(--bs-border-width) * -1));
}

/* Alerts */
.alert-link[data-bs-toggle="collapse"] {
    text-decoration: none;
    text-transform: uppercase;
}
.alert-link[data-bs-toggle="collapse"]::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}
.alert-link[data-bs-toggle="collapse"][aria-expanded="true"]::after {
  transform: rotate(180deg);
}
/* Colors */
.gold {
    --main-gradient-bg-start: rgba(227,223,202,1);
    --main-gradient-bg-end: rgba(255,255,255,1);
    --cobranded-bg-img: url('/assets/images/cobranded-login/co-branded_login-bkg_pattern.svg');
    /* --register-bg-img: url('/assets/images/registration-flow/registration_flow-bkg_pattern.svg'); */
    --register-bg-img-l: url('/assets/images/registration-flow/registration_flow-bkg_pattern-l.svg');
    --register-bg-img-r: url('/assets/images/registration-flow/registration_flow-bkg_pattern-r.svg');
    --dashboard-bg-img: url('/assets/images/registration-flow/registration_flow-bkg_pattern.svg');

    --dropdown-svg-color: var(--theme-tertiary-subtle);
    --table-header-bg: #E1EAE1;
}
.green {
    --main-gradient-bg-start: rgba(213,227,214,1);
    --main-gradient-bg-end: rgba(255,255,255,1);
    --cobranded-bg-img: url('../../../assets/images/cobranded-login/co-branded_login-bkg_pattern.svg');
    /* --register-bg-img: url('../../../assets/images/registration-flow/registration_flow-bkg_pattern.svg'); */
    --register-bg-img-l: url('../../../assets/images/registration-flow/registration_flow-bkg_pattern-l.svg');
    --register-bg-img-r: url('../../../assets/images/registration-flow/registration_flow-bkg_pattern-r.svg');
    --dashboard-bg-img: url('../../../assets/images/registration-flow/registration_flow-bkg_pattern.svg');

    --dropdown-svg-color: var(--bs-success-bg-subtle);
    --table-header-bg: #E1EAE1;
}
.gray {
    --main-gradient-bg-start: rgba(237,239,242,1);

    --table-header-bg: #F8F1F3;
}
.red {
    --main-gradient-bg-start: rgba(237,232,233,1);

    --table-header-bg: #F8F1F3;
}

.admin.gray {
    --bkg-pattern-1: url('../../../assets/images/vwdc-dashboard/admin-bkg_pattern_bottom.svg');
    --bkg-pattern-2: url('../../../assets/images/vwdc-dashboard/admin-bkg_pattern_top.svg');
}
.admin.green {
    --bkg-pattern-1: url('../../../assets/images/vwdc-dashboard/winery-bkg_pattern_bottom.svg');
    --bkg-pattern-2: url('../../../assets/images/vwdc-dashboard/winery-bkg_pattern_top.svg');
}
.admin.red {
    --bkg-pattern-1: url('../../../assets/images/vwdc-dashboard/retailer-bkg_pattern_bottom.svg');
    --bkg-pattern-2: url('../../../assets/images/vwdc-dashboard/retailer-bkg_pattern_top.svg');
}

.bg-tertiary-subtle {
    background-color: var(--theme-tertiary-subtle) !important;
}


/* Patterns */
.cobranded {
    position: relative;
}
.cobranded > * {
    position: relative;
    z-index: 2;
}
.cobranded::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    top: 0;
    left: 0;
    right: 0;
    min-height: 181dvh;
    background-image: var(--cobranded-bg-img);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.register {
    position: relative;
}
.register > * {
    position: relative;
    z-index: 2;
}
.register::before,
.register::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 40dvw;
}
.register::before {
    top: 206px;
    left: 0;
    background-image: var(--register-bg-img-l);
    background-position: left top;
    width: 524px;
    height: 670px;
}
.register::after {
    top: 0;
    right: 0;
    background-image: var(--register-bg-img-r);
    background-position: right top;
    width: 450px;
    height: 355px;
}
.dashboard {
    position: relative;
}
.dashboard > * {
    position: relative;
    z-index: 2;
}
/* body:not(.admin) .dashboard::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    top: 0;
    left: 0;
    right: 0;
    min-height: 60dvh;
    background-image: var(--dashboard-bg-img);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
} */
body:not(.admin) .dashboard::before,
body:not(.admin) .dashboard::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 40dvw;
}
body:not(.admin) .dashboard::before {
    top: 206px;
    left: 0;
    background-image: var(--register-bg-img-l);
    background-position: left top;
    width: 524px;
    height: 670px;
}
body:not(.admin) .dashboard::after {
    top: 0;
    right: 0;
    background-image: var(--register-bg-img-r);
    background-position: right top;
    width: 450px;
    height: 355px;
}

/* Custom Styles */
#password-validation > li {
    --validation-icon: url("");
    position: relative;
    display: block;
    /*font-size: .625rem;*/
    padding-left: 12px;
}
#password-validation > li:not(:last-child) {
    margin-bottom: 10px;
}
#password-validation > li.invalid {
    --validation-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath id='x_icon' d='M200.8-752l-.8-.8,3.2-3.2-3.2-3.2.8-.8,3.2,3.2,3.2-3.2.8.8-3.2,3.2,3.2,3.2-.8.8-3.2-3.2Z' transform='translate(-200 760)' fill='%23585858'/%3E%3C/svg%3E%0A");
}
#password-validation > li.valid {
    --validation-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7.377' viewBox='0 0 10 7.377'%3E%3Cpath id='check_icon' d='M157.5-713.623l-3.5-3.5.874-.874,2.623,2.623L163.126-721l.874.874Z' transform='translate(-154 721)' fill='%2336623a'/%3E%3C/svg%3E%0A");
    color: var(--bs-success);
}
#password-validation > li::before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 8px;
    height: 8px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: var(--validation-icon);
}
@media (max-width: 767px) {
    #password-validation {
        column-count: 1;
    }
    #password-validation > li {
        display: block;
    }
    #password-validation > li:not(:last-child) {
        margin-bottom: .25rem;
    }
}

.nav-boxes {
    gap: var(--bs-gutter-x);
    margin-bottom: 2.25rem;
}
.nav-boxes .nav-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    padding: 2.5rem 3.75rem;
    cursor: pointer;
}
.nav-boxes .nav-link.active {
    --bs-border-color: var(--theme-tertiary);
    -webkit-box-shadow:inset 0 0 0 5px var(--theme-tertiary);
    box-shadow:inset 0 0 0 5px var(--theme-tertiary);
    color: var(--bs-primary);
}
.nav-boxes .nav-link .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    margin-bottom: 1.25rem;
}
.nav-boxes .nav-link .title {
    margin-bottom: 0;
}

.uploaded-documents > .table {
    min-width: 500px;
}
responsive-table td::before {
	display: none;
}
responsive-table th:not(:first-child),
responsive-table td:not(:first-child) {
    text-align: center;
}
responsive-table > table > tbody > tr > th[scope="row"],
responsive-table > table > tbody > tr > th[role="presentation"],
responsive-table > table > tbody > tr > td.row-header {
  --bs-table-bg: var(--primary-100);
  --bs-table-color-state: var(--primary-800);
  border-color: var(--bs-border-color);
  font-weight: 600;
}
responsive-table > table > tbody > tr.bg-secondary {
    --bs-table-bg: rgba(var(--bs-secondary-rgb),.01) !important;
    background-color: rgba(var(--bs-secondary-rgb),.01) !important;
}
responsive-table > table > tbody > tr.row-collapse {
    --bs-table-bg: var(--bs-card-bg);
    transition: none !important;
}
responsive-table .row-toggle {
    width: 14px;
    height: 14px;
    display: inline-block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(2px);
}
responsive-table .row-toggle[aria-expanded="false"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.742' height='13.381' viewBox='0 0 9.742 13.381'%3E%3Cpath id='general_public-chart_dropdown:closed' d='M286.69-550.258,280-560h13.381Z' transform='translate(560 293.381) rotate(-90)' fill='%23727272'/%3E%3C/svg%3E");
}
responsive-table .row-toggle[aria-expanded="true"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.742' height='13.381' viewBox='0 0 9.742 13.381'%3E%3Cpath id='general_public-chart_dropdown:closed' d='M286.69-550.258,280-560h13.381Z' transform='translate(560 293.381) rotate(-90)' fill='%23727272'/%3E%3C/svg%3E");
	transform: rotate(90deg);
}
responsive-table .nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0;
}
@media (max-width: 991px) {
	responsive-table table,
	responsive-table tbody,
	responsive-table tr:not([role="rowfooter"]),
	responsive-table td {
		display: block;
		width: 100%;
	}

	responsive-table tr {
		padding: 0;
	}

	responsive-table thead {
		display: none !important;
	}

	responsive-table tr:not([role="rowfooter"]) td:not(.row-header)::before {
		display: inline;
		font-weight: bold;
	}

    responsive-table tr:not([role="rowfooter"]) td:has(.table)::before {
        display: none;
    }

	responsive-table tr:not([role="rowfooter"]) td {
		display: flex;
		gap: 1rem 0.5rem;
		flex-wrap: wrap;
		padding-left: 0;
		padding-right: 0;
	}
	responsive-table tr:not([role="rowfooter"]) td:not(:last-child) {
		border-bottom-width: 0;
	}

    responsive-table tbody th.empty-header {
        padding: 0;
    }

    responsive-table tbody th[role="rowheader"],
    responsive-table tbody th[role="presentation"],
    responsive-table tbody td.row-header {
        display: block;
        --bs-table-bg: var(--primary-100);
        --bs-table-color-state: var(--primary-800);
        border-color: var(--bs-table-bg);
    }
    responsive-table tbody th[role="rowheader"][scope="row"],
    responsive-table tbody th[role="presentation"],
    responsive-table tbody td.row-header {
        margin-top: 1.2rem;
    }

    responsive-table tbody td .input-group {
        width: auto;
    }

    responsive-table tr[role="separator"] {
        display: none;
    }

    responsive-table tr[role="rowfooter"] {
        display: flex;
        gap: 0;
        flex-direction: column;
    }
	responsive-table .pricing-table tr[role="rowfooter"] {
        flex-direction: row;
		flex-wrap: wrap;
		/* align-items: center; */
    }
    responsive-table tr[role="rowfooter"] td {
        /* border: none; */
        /* padding: 0; */
        flex: 0;
        white-space: nowrap;
    }
	responsive-table tr[role="rowfooter"] td.border-0 {
		padding: 0;
	}
	responsive-table tr[role="rowfooter"] td:has(.btn) {
		flex: 1 0 100%;
		max-width: 100%;
	}
}


.uploaded-documents > responsive-table tr:not([role="rowfooter"]) td:not(.row-header)::before {
	display: none;
}
@media (max-width: 991px) {
	.uploaded-documents > responsive-table tbody > tr > *:not(:last-child) {
		border-bottom: 0;
	}
}


/** Data Table **/
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order::before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order::before, table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order::before, table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order::before {
	content: "▲" !important;
	bottom: 52% !important;
}
table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order::after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order::after, table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order::after, table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order::after {
	content: "▼" !important;
	top: 51% !important;
}

responsive-table div.dt-container div.dt-layout-cell {
	padding: 0;
}
.card div.dt-container div.dt-layout-row.dt-layout-table {
	border-radius: var(--bs-border-radius);
	overflow: hidden;
	position: relative;
	padding-bottom: 1px;
}
.card div.dt-container div.dt-layout-row.dt-layout-table:not(:last-child) {
	border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}
.card div.dt-container div.dt-layout-row.dt-layout-table::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	pointer-events: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: solid 1px #FFF;
	border-radius: var(--bs-border-radius);
	overflow: hidden;
}
.card div.dt-container div.dt-layout-row.dt-layout-table:not(:last-child)::before {
	border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}
.card div.dt-container div.dt-layout-row:not(.dt-layout-table) {
	padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}
.card div.dt-container div.dt-layout-row:not(.dt-layout-table):not(:last-child) {
	padding-bottom: calc(var(--bs-card-spacer-y) * .5);
}
.card div.dt-container div.dt-layout-row:not(.dt-layout-table) + div.dt-layout-row:not(.dt-layout-table) {
	padding-top: 0;
}

div.dt-container .GrayBox {
	letter-spacing: 0;
}
div.dt-container .GrayBox .row + .row {
	margin-top: 1rem;
}
div.dt-container .GrayBox .text-right {
	text-align: right;
}
div.dt-container .GrayBox b {
	font-family: var(--bs-font-additional);
  	text-transform: uppercase;
  	font-weight: 500;
	color: #727272;
}
div.dt-container .GrayBox .btn {
	--bs-btn-padding-y: 0.25rem;
	--bs-btn-font-size: 1rem;
	--bs-btn-border-radius: var(--bs-border-radius-sm);
}
div.dt-container .GrayBox td {
	text-align: left;
}

@media (max-width:767px) {
	table.dataTable > tbody > tr.child {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	div.dt-container .GrayBox .text-right {
		text-align: left;
	}
	div.dt-container .GrayBox .text-right .btn + .btn {
		margin-top: .5rem;
	}
	table.dataTable > tbody > tr.child .table-bordered > :not(caption) > * > * {
		border-width: 0;
	}
	table.dataTable.row-border > tbody > tr > *:not(:first-child), table.dataTable.display > tbody > tr > *:not(:first-child) {
		border-width: 0;
	}
}
